package com.xbb.entity;

import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;

import java.beans.Transient;
import java.time.LocalDateTime;
import java.io.Serializable;
import java.util.Date;

import com.xbb.util.PoiHandler;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.*;
import lombok.experimental.Accessors;
import org.springframework.format.annotation.DateTimeFormat;

/**
 * <p>
 * 学生客户表
 * </p>
 *
 * @author Mr xie
 * @since 2020-06-03
 */
@Getter
@Setter
@ToString
@AllArgsConstructor
@NoArgsConstructor
@EqualsAndHashCode(callSuper = false)
@Accessors(chain = true)
@ApiModel(value="Student对象", description="")
public class Student implements Serializable {

    //private static final long serialVersionUID = 1L;

    @TableId(value = "id", type = IdType.AUTO)
    @PoiHandler(excelHeader = "id", excelIgnore = true)
    private Integer id;
    @PoiHandler(excelHeader = "学生姓名")
    private String stuName;
    @PoiHandler(excelHeader = "性别")
    private String stuSex;
    @PoiHandler(excelHeader = "学生年龄")
    private Integer stuAge;
    @PoiHandler(excelHeader = "手机号")
    private String phone;
    //@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @PoiHandler(excelHeader = "创建时间", excelIgnore = true)
    private String createTime;
    @PoiHandler(excelHeader = "学历")
    private String degree;
    @PoiHandler(excelHeader = "学生状态", excelIgnore = true)
    private String stuStatus;
    @PoiHandler(excelHeader = "来源渠道", excelIgnore = true)
    private String stuSources;
    @PoiHandler(excelHeader = "来源网址", excelIgnore = true)
    private String stuSourceSite;
    @PoiHandler(excelHeader = "来源关键词", excelIgnore = true)
    private String stuSourceKeyword;
    @PoiHandler(excelHeader = "所在区域", excelIgnore = true)
    private String stuArea;
    @PoiHandler(excelHeader = "学员关注", excelIgnore = true)
    private String stuAttention;
    @PoiHandler(excelHeader = "来源部门", excelIgnore = true)
    private String stuSourcesDepartment;
    @PoiHandler(excelHeader = "QQ")
    private String qq;
    @PoiHandler(excelHeader = "微信")
    private String wechat;
    @PoiHandler(excelHeader = "是否报备", excelIgnore = true)
    private String isReport;
    @PoiHandler(excelHeader = "咨询师id")
    private Integer userId;
    @PoiHandler(excelHeader = "录入人姓名")
    private String entryName;
    @PoiHandler(excelHeader = "在线备注", excelIgnore = true)
    private String stuRemark;//在线备注
    @PoiHandler(excelHeader = "课程方向", excelIgnore = true)
    private String courseDirection;
    @PoiHandler(excelHeader = "打分", excelIgnore = true)
    private String grade;
    @PoiHandler(excelHeader = "是否有效", excelIgnore = true)
    private String isValid;
    @PoiHandler(excelHeader = "无效原因", excelIgnore = true)
    private String novalidCause;
    @PoiHandler(excelHeader = "是否回访", excelIgnore = true)
    private String isVisit;
    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @PoiHandler(excelHeader = "首访时间", excelIgnore = true)
    private Date firstTime;
    @PoiHandler(excelHeader = "是否上门", excelIgnore = true)
    private String isCall;
    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @PoiHandler(excelHeader = "上门时间", excelIgnore = true)
    private Date callTime;
    @PoiHandler(excelHeader = "定金数额", excelIgnore = true)
    private String handselMoney;
    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @PoiHandler(excelHeader = "定金时间", excelIgnore = true)
    private Date handselTime;
    @PoiHandler(excelHeader = "是否缴费", excelIgnore = true)
    private String isFees;
    @PoiHandler(excelHeader = "缴费金额", excelIgnore = true)
    private String feesMoney;
    @PoiHandler(excelHeader = "缴费时间", excelIgnore = true)
    private Date feesTime;
    @PoiHandler(excelHeader = "是否退费", excelIgnore = true)
    private String isReturnMoney;
    @PoiHandler(excelHeader = "退费原因", excelIgnore = true)
    private String returnCause;
    @PoiHandler(excelHeader = "是否进班", excelIgnore = true)
    private String isClass;
    @PoiHandler(excelHeader = "进班时间", excelIgnore = true)
    private Date classTime;
    @PoiHandler(excelHeader = "进班备注", excelIgnore = true)
    private String classRemark;
    @PoiHandler(excelHeader = "咨询师备注", excelIgnore = true)
    private String counselorRemark;
    @PoiHandler(excelHeader = "权重", excelIgnore = true)
    private Integer weight;
    @PoiHandler(excelHeader = "备注", excelIgnore = true)
    private String remark;

    //软删除
    @PoiHandler(excelHeader = "是否删除", excelIgnore = true)
    private String isDelete;

    //两表联查
    @PoiHandler(excelHeader = "咨询师名称", excelIgnore = true)
    @TableField(exist = false)//表示该属性不为数据库表字段，但又是必须使用的。
    private String loginName;

}
